<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 对象的常用操作 
        // 一、修改和添加对象里的键值 
        // var obj = {
        //     name:"张娜",
        //     age:20,
        //     height:"178cm"
        // }
        // // 可以通过 . 或者 [] 设置 对象里的值 
        // // 如果对象里有键名 那么就更改键名对应的键值；如果没有这个键名就会添加这个属性
        // // obj.name = "李四";
        // // obj['name'] = "王五";
        // obj.hobby = "篮球"; // 在对象的基础上追加一个hobby属性
        // console.log(obj);


        // var obj = {
        //     name:"张三",
        //     height:"178cm"
        // }
        // // 覆盖式修改
        // // obj = {
        // //     name:"李四"
        // // }

        // // 追加形式修改
        // obj.name = "李四";
        // console.log(obj);

        // 二、删除对象属性
        // var obj = {
        //     name:"张三",
        //     age:20,
        //     height:"178cm"
        // }
        // // 删除年龄属性 
        // delete obj.age;
        // console.log(obj);

        // 三、对象的循环

        // 数组循环
        // var arr = ["张三","李四","王五"];
        // for(var i=0;i<arr.length;i++){
        //     console.log(arr[i]);
        // }
        // 对象的循环
        // var obj = {
        //     name:"张三",
        //     age:20,
        //     height:"178cm"
        // }
        // // 键名：key index  键值 ：value item
        // // console.log(obj.length);
        // // for in 循环
        // for(var key in obj){
        //     // console.log(key,obj);
        //     // console.log(obj.key);  === obj['key']
        //     console.log(key,obj[key]) ;  //  obj.key  === obj['key']

        // }

        // 四：对象里的键值 可以是任意类型
        // var obj = {
        //     a:"字符串",
        //     b:123,
        //     c:true,
        //     d:function(){
        //         console.log("ddd")
        //     },
        //     e:[1,2,3,4],
        //     f:{
        //         name:"ffff",
        //         age:20,
        //         ff:function(){
        //             console.log("ffff");
        //         }
        //     }
        // }

        // obj.d();
        // obj.f.ff();
        // 最常见的数据结构
        // 对象数组
        // var arr = [{name:"张三",age:20},{name:"李四",age:23},{name:"王五",age:32},{name:"王小二",age:21}];

        // for(var i=0;i<arr.length;i++){
        //     // console.log(arr[i]);
        //     var obj = arr[i];
        //     for(var key in obj){
        //         console.log(key+"---"+obj[key]);
        //     }
        // }


        var obj = {
            arr:["张三","李四","王五"],
            name:"王小二",
            age:20,
            height:"178cm",
            fn:function(){
                console.log("姓名是"+obj.name+"年龄是"+obj.age+"身高是"+obj.height)
            }
        }
        console.log(obj["name"])
        // console.log(obj.arr.length);
        // 1.循环arr 2.调用 fn函数；
       
            for(var i = 0;i < obj.arr.length;i++){
                console.log(obj["arr"][i]);
            }
            
            for(var key in obj){
                console.log(key+"---"+obj[key])
        }

        // obj.fn();

        // for(var key in obj){
        //     if(key == "arr"){
        //         for(var i = 0;i < obj[key].length;i++){
        //             console.log(obj[key][i])
        //         }
        //     }
        //     else if(key == "fn"){
        //         obj[key]()
        //     }
        // }



    </script>
</body>
</html>